#ifndef CLASSA_H
#define CLASSA_H

#include <iostream>
using namespace std;

#include "InterfaceTypeA.h"

class ClassA : public InterfaceTypeA
{
public:
    RTTI_DECLARE_OBJECT(ClassA)
    RTTI_BEGIN_CAST_MAP()
        RTTI_CAST_ENTRY_CHAIN(InterfaceTypeA)
        RTTI_CAST_ENTRY(ClassA)
    RTTI_END_CAST_MAP()

public:
    ClassA()
    {
        cout << "ClassA" << endl;
    }
    virtual ~ClassA()
    {
        cout << "~ClassA" << endl;
    }

    virtual void myname() {
        cout << "ClassA hello world" << endl;
    }
};

#endif // CLASSA_H
